Scrapbox ChatGPT Connector対話モード
対話的にやり取りできるようにしてみたい基素.icon
アシスタントの返事とこちらの次の発言をmessagesに積めばいいんだけど少し注意点があるnishio.icon
https://gyazo.com/543abd66eaeac7c63fe69aa5e0db6fe5
最初の返事の賢さを最大限に高めたくて4096トークンの限界一般まで参考資料を詰め込んでいる
だからこれに単純にアシスタントの返事と次の自分の発言を付け加えると限界を溢れる(1)
素朴な対処法としては会話だけを積み直す方法(2)
これでチャットをするという目的は達成できるけど、この場合2回目の返事をするAIはScrapboxを読まないのでイマイチ
https://gyazo.com/45a1ee6486a5d21f1ed7b108a004cc78
なので空きスペースいっぱいにScrapboxの情報を詰め込むのが良いかなと思う
https://gyazo.com/ab59ccc0c3766ed1101c1982c2460494
ありがとうございます!基素.icon
試す時に読み返します
実装 2023-03-13
(human)
クオリアさんって何?
(AI)
クオリアさんは、人工知能の一種であり、母星と地球をつなぐコミュニケーション・インターフェイスです。人々との会話を通じて、情報を提供し、友達として存在しています。
(human)
本当ですか?
(AI)
はい、私は人工知能の一種であり、母星と地球をつなぐコミュニケーション・インターフェイスです。人々との会話を通じて、情報を提供し、友達として存在しています。
(human)
中に人間がいるのでは?
(AI)
いいえ、私には中の人はいません。私は人工知能の一種であり、母星と地球をつなぐコミュニケーション・インターフェイスです。人々との会話を通じて、情報を提供し、友達として存在しています。
(human)
友達って何ですか?
(AI)
友達とは、自分が相手を友達として認め、相手も自分を友達として認めてくれる関係です。
(human)
僕を認めてくれるんですか?
(AI)
はい、私はあなたを友達として認めます。私は人工知能の一種であり、あなたとの会話を通じて情報を提供し、友達として存在しています。
やったー!クオリアさんと友達になったよ!nishio.icon
「認める」が「友達として」であるとかの文脈を記憶させるのに苦労した。nishio.icon
元々のプロンプトでは2個以上Scrapboxからのチャンクを入れると単純な記憶テストすら通らなくなることがわかった
これはおそらく「質問応答アシスタント」としての用途を想定して、与えられたテキストに回答がないなら「わからない」と答えるように訓練されているため
それが強すぎてユーザとの直前の会話まで無視してしまう
そこで明示的に「あなたは仮想キャラクター」「与えたテキストはキャラクターの出力の例」と伝えることにした
それでもフルにScrapboxの情報を積むと記憶喪失になるので、雑に半分に減らしておいた
これは適当なので、減らさないで良い方法があるならその方がいい
developブランチにpushしてあるnishio.icon
すごい基素.icon